To maximize performance, modern processors attempt to execute as many instructions as possible concurrently. To identify enough instructions to keep busy, the processors may use branch prediction to determine which instructions will most likely be executed in a certain processor pipeline. As a result, branch prediction may eliminate the need to wait for the outcome of branch instructions and therefore keep the processor pipeline as full as possible.